package com.tencent.sr.iris.activity.interfaces.response.activity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @author nixiaolin
 * @date 2023/2/16 10:10
 */
@Data
@Accessors(chain = true)
@ApiModel("用户活动参与记录响应参数")
public class UserTaskRecordResponse {

    @ApiModelProperty("业务id")
    private String bizId;

    @ApiModelProperty("活动id")
    private String activityId;

    @ApiModelProperty("任务id")
    private String taskId;

    @ApiModelProperty("活动周期（Y/M/D，如果是周期类型活动，按自然年/月/日重新计算活动，按周期操作用户参与记录表）")
    private String taskPeriod;

    @ApiModelProperty("uid")
    private String uid;

    @ApiModelProperty("pid")
    private String pid;

    @ApiModelProperty("完成状态 0：进行中，1：已完成，2：未完成")
    private Byte userTaskStatus;

    @ApiModelProperty("有效分享数")
    private Integer shareCount;

    @ApiModelProperty("实际收益")
    private Integer commission;

    @ApiModelProperty("达标有效分享数")
    private Integer totalShareCount;

    @ApiModelProperty("达标实际收益")
    private Integer totalCommission;

    @ApiModelProperty("权益类型")
    private String awardType;

    @ApiModelProperty("奖励金额")
    private Integer awardValue;

    @ApiModelProperty("应发奖励金")
    private Integer sendAward;

    @ApiModelProperty("活动类型（MONTH_GIFT：月月领，REGIST_GIFT：注册有礼，LEVEL_UP_GIFT：升级有礼）")
    private String activityType;

    @ApiModelProperty("当前任务开始时间")
    private Long currentTaskStartTime;

    @ApiModelProperty("当前任务截止时间")
    private Long currentTaskEndTime;

    @ApiModelProperty("参与时间")
    private String createTime;

    @ApiModelProperty("任务阶梯级别")
    private Integer tier;

    @ApiModelProperty("预估佣金")
    private Integer estimateCommission;

    @ApiModelProperty("预估完成状态（0：进行中，1：已完成，2：未完成）（没有终态）")
    private Byte estimateUserTaskStatus;

    @ApiModelProperty("分组表达式")
    private String groupByExpression;

    @ApiModelProperty("佣金等待天数")
    private Integer commissionTaskPlusDay;

    @ApiModelProperty("是否已参加做任务: YES已经参加 ，NO 未参加，LIMITED 已超限")
    private String isParticipated;

    @ApiModelProperty("是否多阶段活动中的单阶段task")
    private Boolean singleTaskInMultiActivity;

    @ApiModelProperty("总邀请限额")
    private Integer inviteLimit;

    @ApiModelProperty("邀请次序")
    private Integer inviteSeq;

    @ApiModelProperty("交易完成时间")
    private Long orderFinishTime;

    @ApiModelProperty("被邀请时间")
    private Long inviteTime;

    @ApiModelProperty("活动记录id")
    private String activityRecordId;

    @ApiModelProperty("扩展信息")
    private String extInfo;
}
